package integer;

/**
 * java中的基本类型不具有面向对象的特征,因此无法直接参与面向对象开发.
 * 对此,java为8个基本类型设计了对应的包装类,可以让基本类型以对象的形式存在.
 * 基本类型          包装类
 * byte             java.lang.Byte
 * short            java.lang.Short
 * int              java.lang.Integer
 * long             java.lang.Long
 * float            java.lang.Float
 * double           java.lang.Double
 * char             java.lang.Character
 * boolean          java.lang.Boolean
 */
public class IntegerDemo1 {
    public static void main(String[] args) {
        int a=180;
        double c=3.14;
        /*
        基本类型转换为对应的包装类:将基本类型以对象修饰体现出来
         */

       //Integer in=new Integer(a);
      //  Integer in2=new Integer(a);
        //java建议我们使用包装类的静态方法valueOf将基本类型转换为他对应的包装类
        Integer in=Integer.valueOf(a);
        Integer in2=Integer.valueOf(a);
        System.out.println(in==in2);
        System.out.println(in.equals(in2));

        double dou=3.14;
        Double d1=Double.valueOf(dou);
        System.out.println(d1);

        //从包装类转换为基本类型
        /*
            数字类型的包装类支持将其表示的数字转换为所有数字基本类型
            对应的方法:
            int intValue()
            double doubleValue()
            float floatValue()
            ...
         */
        int i=in.intValue();
        System.out.println("i:"+i);
        double dd=in2.intValue();//将Integer包装类中保存的整数以double类型返回
        System.out.println("dd:"+dd);
    }
}
